Skip to content

Feat/sdk and vision tracking#15

Merged
saikrishna321 merged 5 commits into
mainfrom
feat/sdk-and-vision-tracking
Apr 14, 2026
Merged

Feat/sdk and vision tracking#15
saikrishna321 merged 5 commits into
mainfrom
feat/sdk-and-vision-tracking

Conversation

@saikrishna321
Copy link
Copy Markdown
Member

No description provided.

saikrishna321 and others added 5 commits April 14, 2026 12:51
…en savings

- Add vision-token-tracker module to accumulate StarkVisionClient token usage
  across all call sites (stark-locate, vision-execute) and print per-step cost
- Extract Gemini implicit cached token counts from provider metadata and display
  them in agent loop / flow run summaries (~75% cost reduction notice)
- Cache system prompt in LLM provider so it is built once per run, enabling
  Gemini implicit prompt caching across steps
- Fix resolveNaturalStep to return ResolvedStep (step + usage) instead of bare FlowStep
- Update Gemini model pricing table with additional preview models
- Bump version to 0.1.6; drop package-lock.json and switch CI to npm install --no-package-lock

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Co-authored-by: Srinivasan Sekar <srinivasan.sekar1990@gmail.com>
- Introduce `src/sdk/` public SDK (GoalRunner, FlowRunner, StepRunner, McpSession, ConfigBuilder)
- Expose SDK as package main entry point with proper exports map
- Add `loadConfig` overrides support for programmatic config injection
- Add SDK unit tests (`tests/sdk/`) and e2e test suite (`tests/e2e/`)
- Separate e2e tests from unit tests via dedicated `test:e2e` script
- Add QA documentation (personas, regression baseline, step libraries, observed assertions)
- Update landing/usage.html

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Co-authored-by: Srinivasan Sekar <srinivasan.sekar1990@gmail.com>
Install step uses --no-package-lock so there is no lock file to use
as a cache key.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Co-authored-by: Srinivasan Sekar <srinivasan.sekar1990@gmail.com>
- Replace --exclude glob (unreliable) with explicit dir args in test script
- Remove describe.only from e2e suite that caused Vitest to fail even
  when the file was skipped

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Co-authored-by: Srinivasan Sekar <srinivasan.sekar1990@gmail.com>
Tests were hitting real device session code (startSpinner, capability
building) because McpSession.connect() calls createPlatformSession
which was not mocked. Add the mock to both appclaw.test.ts and
mcp-session.test.ts so tests stay pure unit tests.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Co-authored-by: Srinivasan Sekar <srinivasan.sekar1990@gmail.com>
@saikrishna321 saikrishna321 merged commit f39d4d5 into main Apr 14, 2026
2 checks passed
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant